﻿using EFExtention.Common.DataModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace EFERP.Implements
{
    public interface IDbUnitOfWork : IUnitOfWork
    {
        IRepository<dic_allowance, Guid> DanhMucPhuCap { get; }
        IRepository<dic_degree, Guid> DanhMucBangCap { get; }
        IRepository<dic_education, Guid> DanhMucHocVan { get; }
        IRepository<dic_ethnic, Guid> DanhMucDanToc { get; }
        IRepository<dic_group_rate, Guid> DanhMucNhomTieuChi { get; }
        IRepository<dic_holiday, Guid> DanhMucNgayNghi { get; }
        IRepository<dic_hospital, Guid> DanhMucBenhVien { get; }
        IRepository<dic_informatic, Guid> DanhMucTinHoc { get; }
        IRepository<dic_job, Guid> DanhMucCongViec { get; }
        IRepository<dic_language, Guid> DanhMucNgonNgu { get; }
        IRepository<dic_machine, Guid> DanhMucMayChamCong { get; }
        IRepository<dic_minimumsalary, Guid> DanhMucMucLuongToiThieu { get; }
        IRepository<dic_nationality, Guid> DanhMucQuocTich { get; }
        IRepository<dic_position, Guid> DanhMucChucVu { get; }
        IRepository<dic_professional, Guid> DanhMucChuyenMon { get; }
        IRepository<dic_province, Guid> DanhMucTinh { get; }
        IRepository<dic_rate, Guid> DanhMucTieuChi { get; }
        IRepository<dic_relative, Guid> DanhMucQuanHeGiaDinh { get; }
        IRepository<dic_religion, Guid> DanhMucTonGiao { get; }
        IRepository<dic_salary_formula, Guid> DanhMucCongThucTinhLuong { get; }
        IRepository<dic_salary_rank, Guid> DanhMucNgachLuong { get; }
        IRepository<dic_salary_step, Guid> DanhMucBacLuong { get; }
        IRepository<dic_school, Guid> DanhMucTruongHoc { get; }
        IRepository<dic_shift, Guid> DanhMucCa { get; }
        IRepository<dic_signer, Guid> DanhMucNguoiKy { get; }
        IRepository<dic_skill, Guid> DanhMucKyNang { get; }
        IRepository<dic_state, Guid> DanhMucCongDoanSanXuat { get; }
        IRepository<dic_symbol, Guid> DanhMucKyHieuChamCong { get; }
        IRepository<dic_timekeeper_formula, Guid> DanhMucCongThucTinhThoiGian { get; }
        IRepository<dic_unit, Guid> DanhMucDonViTinhSanPham { get; }

        IRepository<hrm_branch, Guid> DanhMucChiNhanh { get; }
        IRepository<hrm_candidate, Guid> DanhMuc1 { get; }
        IRepository<hrm_candidate_mark, Guid> DanhMuc2 { get; }
        IRepository<hrm_candidate_rate, Guid> DanhMuc3 { get; }
        IRepository<hrm_contract, Guid> DanhMucHopDong { get; }
        IRepository<hrm_department, Guid> DanhMucPhongBan { get; }
        IRepository<hrm_department_rate, Guid> DanhMucDnahGiaPhongBan { get; }
        IRepository<hrm_discipline, Guid> DanhMuc5 { get; }
        IRepository<hrm_employee, Guid> DanhMucNhanVien { get; }
        IRepository<hrm_employee_activity, Guid> DanhMucHoatDongNhanVien { get; }
        IRepository<hrm_employee_allowance, Guid> DanhMucTroCapNhanVien { get; }
        IRepository<hrm_employee_relative, Guid> DanhMucQuanHeXaHoi { get; }
        IRepository<hrm_employee_schedule, Guid> DanhMucCaTrucNhanVien { get; }
        IRepository<hrm_evaluationboard, Guid> DanhMucDanhGiaDiemKPI { get; }
        IRepository<hrm_group, Guid> DanhMucToNhom { get; }
        IRepository<hrm_group_rate, Guid> DanhMucDanhGiaToNhom { get; }
        IRepository<hrm_insurance, Guid> DanhMucBaoHiemYTe { get; }
        IRepository<hrm_insurance_declaration, Guid> DanhMucKhaiBaoBaoHiemYTe { get; }
        IRepository<hrm_position_rate, Guid> DanhMucDanhGiaKPITheoChucVu { get; }
        IRepository<hrm_process_accident, Guid> DanhMucTaiNanLaoDong { get; }
        IRepository<hrm_recruitment, Guid> DanhMucTuyenDung { get; }

        /// <summary>
        /// Danh Muc Phan Quyen, Cau Hinh, Thong Tin Trong He Thong
        /// </summary>
        IRepository<sys_company, Guid> DanhMucCongTy { get; }
        IRepository<sys_group, Guid> DanhMucVaiTro { get; }
        IRepository<sys_log, Guid> DanhMucLichSu { get; }
        IRepository<sys_object, Guid> DanhMucChucNang { get; }
        IRepository<sys_option, Guid> DanhMucTuyChon { get; }
        IRepository<sys_rule, Guid> DanhMucQuyLuatTrongHeThong { get; }
        IRepository<sys_user, Guid> DanhMucNguoiDung { get; }
        IRepository<sys_user_rule, Guid> DanhMucPhanQuyen { get; }
    }
}
